Next:
Regular Expression
, Previous:
advance sed
, Up:
Index
RegExpr Examples
directory File count
$PATH의 디렉토리 개수 카운터
#!/bin/bash
mypath=
$
(
echo
$PATH
|
sed
'
s/:/ /g
'
)
count=
1
for
directory
in
$mypath
;
do
check=
$
(
ls
$directory
)
for
item
in
$check
;
do
count=
$
[
$count
+
1
]
done
echo
-
e
"
$directory
\t:\t
$count
"
count=
0
done
tel number validation
(123)456-7890
(123) 456-7890
123-456-7890
123.456.7890
# ^\(?[2-9][0-9]{2}\)?( |-|\.)[0-9]{3}( |\.|-)[0-9]{4}$
echo
-
e
'
317-555-1234\n000-555-1234\n(317)555-1234
'
|
gawk
--
re
-
interval
'
/^\(?[2-9][0-9]{2}\)?(| |-|\.)[0-9]{3}(| |-|\.)[0-9]{4}$/{print $0}
'
email address validation
username@hostname
username 으로 이메일에서 점, 대시, 더하기 기호, 밑줄 등이 사용 가능하다
hostname(도메인 이름은) 점, 밑줄이 사용가능하지만, 최상위 도메인을 뜻하는 가장 마지막 . 이후는 상당히 제약을 가진다.
# username
# ^([a-zA-Z0-9_\-\.\+]+)@
# hostname
# ([a-zA-Z0-9_\-\.]+)
# top level domain
# \.([a-zA-Z]{2,5})$
echo
-
e
'
rich@here.now\nrich@here.now.\nrich@here-now\n@rich.blum@here.now\ncsian7386@gmail.com
'
|
gawk
--
re
-
interval
'
/^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/{print $0}
'